Vehicle simulators are commonly used for training people in how to operate the vehicle. One example of such vehicle simulators are flight simulators, which are a very important tool in the aviation industry and are used by commercial airlines, third party training centres and the military for training pilots.
Flight simulators are a complex assembly of numerous subsystems which comprise both hardware and software components. These subsystems can include a central host computer which executes most of the software components, a flight model, which is aircraft specific, cockpit instrumentation including aircraft avionics units, a flight control loading system and a motion platform which are the components responsible for providing the pilot with the feeling of being in a moving aircraft, a visual image generator and display system, a sound and aural cueing system and an instructor operating system (IOS).
Flight simulators are expensive to manufacture and can cost in the region of US$10-15 million. Typically their life expectancy is initially around 20 years, but this can be extended to approximately 30 years by updating software and/or hardware of the simulator. Updates can be required to bring the simulator into line with changes in regulatory requirement, new technologies and new and different aircraft configurations.
Traditionally, there are two different ways of performing software updates on a flight simulator. The first involves the installation and integration of new software on the host computer. The second is to use an external computer to provide the platform for the new functionality and to integrate the external computer with the host computer. Both of these are very complex processes which vary depending on both the existing system and the new software with which the system is to be updated. As such, the result is that the software and hardware required to update a simulator are specific to that simulator and cannot be used to update simulators of different types/specifications, even if the differences are relatively small. Furthermore, updates of these kinds require significant modification to the existing simulator software configuration in order to allow integration with the new software. This modification involves time and expense. Such updates are further complicated in that the configuration of the host software may not be well documented such that an engineer often has to spend time unravelling the simulator configuration. Moreover, as the configuration of host software is often unknown, engineers are faced with the significant problem of the fidelity of the simulator being degraded as a result of lost patches and the like.
A typical example of a flight simulator subsystem that is updated during the life of the simulator is the Visual Image Generator (VIG) subsystem. VIG subsystems are sometimes updated two or three times during the life of a simulator at intervals of 8 to 10 years.
FIG. 1 is a schematic of the computer apparatus of a flight simulator following an update via the first of the two above-described methods to include a new subsystem namely, in this example, a new VIG subsystem. The computer apparatus 10 comprises a host computer 100, an IOS 102 and a new VIG subsystem 104. The IOS 102 is connected to the host computer via an existing interface 106. The new VIG subsystem 104 is connected to the host system via a new interface 108. The host computer includes both the existing software 110 and new interface software 112. The new interface software 112 is introduced during the update and is configured to allow interaction between the new VIG subsystem 104 and the original software 110. The new interface software 112 is bespoke for each different simulator and depends on the configuration of the existing simulator system and the new VIG subsystem 104. The original host software 110 is heavily modified so as to allow it to communicate with the new interface software 112 and thus the new VIG subsystem 104. Also, the IOS 102 is updated to include additional controls in accordance with the new VIG subsystem 104. Because configurations of simulators from different original equipment manufacturers can vary, experience gained from time and effort spent by an engineer in upgrading one simulator is often not useful in upgrading another different simulator. This is highly inefficient.
The process involved in upgrading a vehicle simulator may include the following steps:                1) Decommissioning the existing VIG interface software;        2) Adding new hardware and driver software for the physical interface (not shown) with the new VIG subsystem to the host computer 100;        3) Physically connecting the new VIG subsystem 104 to the host computer 100;        4) Loading new VIG interface software 112 onto the host computer 100;        5) Performing extensive modification of the new VIG interface software 112 in order to integrate it with the existing simulation software 110;        6) Performing modifications to the existing simulation software 110 to enable integration with the new VIG software 112;        7) Performing modification of the IOS 102 for integration of the new features of the new VIG subsystem 104; and        8) Generating from the source files on the host computer 100 a new software release comprising a combination of the pre-update software and new update software        
Each of the above steps is both time-consuming and exposes the engineer to risks due to the unfamiliar nature of the simulator. One of the most prominent risks is that due to the determination of correct files required to build a new software release. The software delivered to host computer 100 under an upgrade such as that described above is provided with very limited or no maintenance capabilities.
It is an aim of the present invention to provide a system that can be used to update various different types of simulator without requiring significant modification of the existing software and/or hardware of the simulator. Another aim of the present invention is to provide an upgrade mechanism to reduce or eliminate the technical risks involved with modification of host software, to standardise the simulator update process to provide a substantially repeatable process, thereby reducing the amount of inefficiency involved with simulator updates.